from pymongo import MongoClient
import random

def insert_and_query_random_sequences(username):
    # 连接到MongoDB（确保MongoDB服务已在本地运行）
    client = MongoClient("mongodb://192.168.168.110:27017/")

    # 选择数据库
    db = client['data']

    # 获取group为1的用户
    users = list(db.user.find({"group": "1"}))  # 确保group的类型是字符串

    # 生成1到4的随机数
    random_numbers = random.sample(range(1, 5), 4)  # 生成 [1, 2, 3, 4]

    # 确保用户数量不小于4
    if len(users) < 4:
        print("用户数量不足，无法插入4个随机数。")
        client.close()
        return

    # 将随机数分别插入到group为1的用户中
    for i, user in enumerate(users[:4]):  # 只处理前4个用户
        db.user.update_one({"_id": user["_id"]}, {"$set": {"sequence": random_numbers[i]}})

    # 查询指定用户的随机数
    user = db.user.find_one({"name": username})
    if user and "sequence" in user:
        print(f"您为第 {user['sequence']}个出牌")
    else:
        print(f"未找到用户 {username} 或未设置随机数。")

    # 关闭MongoDB连接
    client.close()

if __name__ == "__main__":
    username = "lishi"  # 指定要查询的用户名
    insert_and_query_random_sequences(username)  # 插入随机数并查询
